package cz.stv.kucera_tomas_sen.auto;
import cz.stv.pecinovsky.správceplátna.*;

/* Soubor je ulozen v kodovani UTF-8.
 * Kontrola kódování: Příliš žluťoučký kůň úpěl ďábelské ódy. */


import org.junit.After;
import org.junit.Before;
import org.junit.Test;


import static org.junit.Assert.*;



/*******************************************************************************
 * Testovací třída {@code Test2} slouží ke komplexnímu otestování
 * třídy {@link Test2}.
 *
 * @author    jméno autora
 * @version   0.00.000
 */
public class Test2
{
    private Obdélník obdélník1;
    private Trojúhelník trojúhel1;
    private Elipsa elipsa1;
    private SprávcePlátna SP;

    //== KONSTANTNÍ ATRIBUTY TŘÍDY =============================================
    //== PROMĚNNÉ ATRIBUTY TŘÍDY ===============================================
    //== STATICKÝ INICIALIZAČNÍ BLOK - STATICKÝ KONSTRUKTOR ====================
    //== KONSTANTNÍ ATRIBUTY INSTANCÍ ==========================================
    //== PROMĚNNÉ ATRIBUTY INSTANCÍ ============================================
    //== PŘÍSTUPOVÉ METODY VLASTNOSTÍ TŘÍDY ====================================
    //== OSTATNÍ NESOUKROMÉ METODY TŘÍDY =======================================

    //##########################################################################
    //== KONSTRUKTORY A TOVÁRNÍ METODY =========================================
    //-- Testovací třída vystačí s prázdným implicitním konstruktorem ----------
    //== PŘÍPRAVA A ÚKLID PŘÍPRAVKU ============================================

    /***************************************************************************
     * Inicializace předcházející spuštění každého testu a připravující tzv.
     * přípravek (fixture), což je sada objektů, s nimiž budou testy pracovat.
     */
    @Before
    public void setUp()
    {
        obdélník1 = new Obdélník();
        trojúhel1 = new Trojúhelník();
        elipsa1 = new Elipsa();
        SP = SprávcePlátna.getInstance();
        SP.přidej(obdélník1, trojúhel1, elipsa1);
    }


    /***************************************************************************
     * Úklid po testu - tato metoda se spustí po vykonání každého testu.
     */
    @After
    public void tearDown()
    {
    }



    //== PŘÍSTUPOVÉ METODY VLASTNOSTÍ INSTANCÍ =================================
    //== OSTATNÍ NESOUKROMÉ METODY INSTANCÍ ====================================
    //== SOUKROMÉ A POMOCNÉ METODY TŘÍDY =======================================
    //== SOUKROMÉ A POMOCNÉ METODY INSTANCÍ ====================================
    //== INTERNÍ DATOVÉ TYPY ===================================================
    //== VLASTNÍ TESTY =========================================================
    //
    //     /********************************************************************
    //      *
    //      */
    //     @Test
    //     public void testXxx()
    //     {
    //     }

    @Test
    public void posunp()
    {
        Přesouvač přesouva1 = new Přesouvač(5);
        přesouva1.přesunO(100, 0, elipsa1);
        přesouva1.přesunO(0, 50, obdélník1);
    }

    @Test
    public void pokus3()
    {
        Přesouvač přesouva1 = new Přesouvač(10);
        přesouva1.přesunO(200, 0, trojúhel1);
    }

    @Test
    public void m3()
    {
        Přesouvač přesouva1 = new Přesouvač(10);
        přesouva1.přesunO(100, 100, elipsa1);
    }
}



